Gearless wheel motor drive system

ABSTRACT

Methods and apparatus are provided for an electric vehicle embodying an axial flux traction motor directly coupled to a wheel thereof. The traction motor comprises a stator having coils for producing a magnetic field, an annular rotor magnetically coupled to the stator and mechanically to an output shaft. Permanent magnets of alternating polarity are mounted on the annular rotor. Magnetic shunts bridge a portion of the stator slots above the coils. The magnets are arranged in groups with group-to-group spacing exceeding magnet-to-magnet spacing. Adjacent edges of the magnets diverge. The method comprises, looking up d- and q-axis currents to provide the requested torque and motor speed for the available DC voltage, combining at least one of the d- and q-axis currents with a field weakening correction term, converting the result from synchronous to stationary frame and operating an inverter therewith to provide current to the coils of the motor.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional ApplicationsNos. 60/494,249; 60/494,250; and 60/494,251, all filed on Aug. 11, 2003.This application is a continuation application of U.S. patentapplication Ser. No. 11/845,469, filed Aug. 27, 2007, which is adivisional application of U.S. application Ser. No. 10/903,929, filedJul. 29, 2004, the disclosures of which are hereby incorporated byreference.

TECHNICAL FIELD

The present invention generally relates to electric vehicle (EV), fuelcell electric vehicle (FCEV), or hybrid electric vehicle (HEV)propulsion systems. More specifically, the present invention relates toelectric traction motors and controls therefore, for use in EVs, FCEVsand/or HEVs where the motor directly drives the wheel.

BACKGROUND

There exist a variety of electric propulsion or drive technologies usedto power vehicles. The technologies include electric traction motorssuch as DC motors, AC induction motors, switched reluctance motors,synchronous reluctance motors, brushless DC motors and correspondingpower electronics for controlling the motors. In the prior art, it hasbeen common to couple the traction motor(s) to the front or rear wheelsof the vehicle using a mechanical drive-line with reduction gears and adifferential. Sometimes, the motors are mounted in the driving wheelswithout a differential and coupled to the wheels through speed reductiongears. While such systems are functional, they suffer from higherweight, lower reliability and lower efficiency due to the mechanicaldrive-line (gears, differentials, transmissions, etc.) between themotor(s) and the wheels.

Accordingly, there is an ongoing need to provide traction motors andcontrol systems for EV, FCEV, and HEV application that do not requireuse of a differential or reduction gears. In addition, it is desirableto provide such traction motors having a form suitable for inclusiondirectly in or adjacent to a vehicle wheel. It is further desirable thatsuch motors employ permanent magnets for good efficiency and high torquedensity. Other desirable features and characteristics of the presentinvention will become apparent from the subsequent detailed descriptionand the appended claims, taken in conjunction with the accompanyingdrawings and the foregoing technical field and background.

BRIEF SUMMARY

An apparatus is provided for an electric vehicle embodying an axial fluxtraction motor directly coupled to a wheel thereof. The traction motorcomprises a stator having coils for producing a magnetic field, anannular rotor magnetically coupled to the stator and mechanicallycoupled to an output shaft. Permanent magnets of alternating polarityare mounted on the annular rotor facing the stator. Magnetic shuntsbridge a portion of the stator slots above the coils. The magnets arepreferably arranged in two or more groups with group-to-group spacingdesirably exceeding magnet-to-magnet spacing. Adjacent edges of thepermanent magnets preferably diverge.

A method is provided for operating a traction motor for an electricvehicle. The method comprises looking up optimized d- and q-axis statorcurrents to provide the requested torque and motor speed for theavailable DC voltage, combining at least one of the d- and q-axiscurrents with a field weakening correction term to take into accountdifferences between the optimized stored motor parameters and actualmotor parameters for optimized behavior, converting the corrected d- andq-axis currents from synchronous to stationary frame and operating aninverter therewith to provide drive currents to the coils of the motor.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will hereinafter be described in conjunction withthe following drawing figures, wherein like numerals denote likeelements, and

FIG. 1 is a partially cut-away simplified plan view of a traction motoraccording to the present invention;

FIG. 2 is a side view of the traction motor of FIG. 1;

FIG. 3 is a simplified plan view of a portion of the stator of thetraction motor of FIGS. 1-2 showing further details;

FIG. 4 is a side view of a portion of the stator and rotors of thetraction motor of FIGS. 1-2, showing further details;

FIGS. 5A and 5B are plan views of the interior face of rotors of thetraction motor of FIGS. 1-2 showing further details and according tofurther embodiments, and FIG. 5C is a plan view of an enlarged segmentof the rotor of FIG. 5A or 5B showing still further details;

FIG. 6 is a plot of observed back-emf voltage on the windings of thetraction motor of the present invention versus time, for a preferredembodiment of the present invention;

FIG. 7 is a plot of shaft power versus shaft speed for the motor of thepresent invention under several operating conditions;

FIG. 8 is a plot of no-load power consumption versus speed for twomotors, one including a preferred embodiment of the present inventionand the other without;

FIGS. 9A and 9B are constant efficiency torque versus speed contours fortwo motors, one with a preferred embodiment of the present invention inFIG. 9B and the other without in FIG. 9A.

FIG. 10 is a perspective view of a rotor support according to apreferred embodiment of the present invention;

FIG. 11 is a perspective view of the rotor support of FIG. 10 withrotors mounted thereon and showing further details;

FIG. 12A is a simplified edge view and FIG. 12B is a simplified planview of a portion of a rotor of FIG. 11 showing still further details;

FIGS. 13A-13B are simplified plan views of a segment of a stator andstator support of the traction motor of the present invention, whereinFIG. 13A shows the stator and stator support separated and FIG. 13Bshows them assembled;

FIG. 14 shows a partially cut-away and cross-sectional view through thetraction motor of the present invention with rotors, stator and statorsupport in place;

FIG. 15 is a simplified representation of the d-q magnetic axes used inanalyzing the motor of the present invention;

FIG. 16A is a plot of observed and calculated motor torque versuscontrol angle α and FIG. 16B is a plot of calculated d-axis flux versuscontrol angle and FIG. 16C is a plot of calculated q-axis flux versuscontrol angle, for the motor of the present invention;

FIG. 17 is a flow chart illustrating a method for calculating optimizedcontrol parameters for the motor of the present invention;

FIGS. 18A-B are plots of torque versus speed for different values of theoptimal control parameters, the d- and the q-axes currents I_(d), I_(q),wherein FIG. 18A has optimized I_(q) as the parameter and FIG. 18B hasoptimized I_(d) as the parameter;

FIG. 19 is a plot of observed torque versus speed under variousoperating conditions for the motor according to the preferred embodimentof the present invention;

FIGS. 20A-B are simplified block diagrams of a motor control systemprocess architecture according to a preferred embodiment of the presentinventions, wherein FIG. 20A provides an overview and FIG. 20B providesfurther detail;

FIGS. 21A-B are plots of d-axis and q-axis current, respectively, forthe motor of the present invention under several operating conditions;and

FIG. 22 is a simplified schematic diagram of a computer based systemsuitable for carrying out the control processes of the presentinvention.

DETAILED DESCRIPTION

The following detailed description is merely exemplary in nature and isnot intended to limit the invention or the application and uses of theinvention. Furthermore, there is no intention to be bound by anyexpressed or implied theory presented in the preceding technical field,background, brief summary or the following detailed description. Theterms “motor” and “machine” are used interchangeably herein to refer tothe traction motor/generator of the present invention.

Referring now to FIGS. 1-2 together, FIG. 1 is a simplified partialcut-away plan view and FIG. 2 is a side view of rotor and statorportions of traction motor 30 according to the present invention. Motorportion 30 comprises first annular or washer-shaped rotor plate 32 onwhich are affixed permanent magnets (PMs) 33, second annular orwasher-shaped rotor plate 34 on which are affixed PMs 35, and stator 36with core 41 and current carrying coils (windings) 37 separated bystator pole pieces 42. In FIG. 1, portion 38 of first rotor 32 has beencut away to reveal permanent magnets (PMs) 33 lying above stator 36 andportion 40 has been cut away along with PMs 33 to show underlying statorcore 41 supporting windings 37 with stator pole pieces 42 betweenwindings 37. Bolt holes 44, 46 are conveniently provided in rotors 32,34 respectively by which a rotor support or yoke (not shown) can beprovided to couple rotors 32, 34 to a motor output shaft (not shown)rotating around center 48. Pole pieces 42 of stator support core 41 arecircumferentially spaced around stator 36, separated by angular amount47, generally referred to as the stator pole pitch (SPP). In general,coils 37 are similarly spaced around stator 36. Coils 37 are preferablywound from flat ribbon conductors but this is not essential.

Rotors 32, 34 are usually the moving parts coupled to the vehicle wheelsand stator 36 is generally fixed to the vehicle frame in some way. Thisis the preferred arrangement, because it avoids commutating the powerleads to the stator, but this is merely convenient and not essential.With the motor of the present invention either the rotors or the statormay be coupled to the vehicle wheels and the other coupled to thevehicle frame. Either arrangement is useful. For convenience ofdescription it is assumed hereafter that the rotors are coupled to thevehicle wheel and the stator to the vehicle frame but this is notintended to be limiting.

For convenience of explanation and clarity of illustration of theimportant features of motor 30, the yoke or rotor support couplingrotors 32, 34 to the motor output and the structure attaching stator 36to the vehicle frame are omitted from FIGS. 1-2. (A preferredarrangement is illustrated in FIG. 14.) However, persons of skill in theart will understand that any convenient arrangement may be used forcoupling the rotors to the motor output shaft and to the wheels withoutan intermediate mechanical drive-line (e.g., no differential, reductiongears, etc.) and for coupling the stator to the vehicle frame. Further,persons of skill in the art will understand based on the descriptionherein that rotors 32, 34 are supported by bearings that align rotors32, 34 with respect to stator 36 while allowing mutual rotation thereof.

First and second rotors 32, 34 with attached permanent magnets (PMs) 33,35 are coupled together and move together, rotating around axis 48 withrespect to stator 36 under the influence of the magnetic fields providedby PMs 33, 35 and coils 37. PMs 33 are magnetized with their magneticpoles substantially perpendicular to the plane of rotors 32, 34 andstator 36, and the direction of magnetization of adjacent PMsalternates. For example (see FIG. 1), if PM 330 has a north (N) incontact with rotor 32 (and therefore a south (S) pole facing stator 36),then PM 331 has a S pole in contact with rotor 32, PM 332 a N and PM 333a S and so forth. Pairs of PMs are arranged on rotors 32, 34 facing eachother across stator 36. Facing PMs on rotors 32, 34 preferably have theopposite magnetization direction. For example, (see FIG. 2) arrows 430,432, 434 show the direction of magnetization of PMs 330, 332, 334 onrotor 32, which have S poles facing stator 36. Facing PMs 350, 352, 354on rotor 34 have directions of magnetization shown by arrows 450, 452,454, also with S poles facing stator 36. Thus, each facing pair of PMson rotors 32, 34 have opposed directions of magnetization (e.g., seearrows 434, 454 for PMs 334, 354 respectively). This is the preferredarrangement, however, the other arrangement where the magnet facing eachother have the same magnetic orientation is also possible and is useful.PMs 33, 35 are attached to rotors 32, 34 by any convenient means, but afastening means that includes magnetic attraction is preferred. Glue orother adhesive may be used to attach PMs 33, 35 to rotors 32, 34. It isdesirable that the glue provide a shear strength equal or greater thanabout 3 N/mm². Permanent magnets 33, 35 are conveniently of sinteredNd—Fe—B. Grade VACODYM 655 HR supplied by Vacuumschmelze of Hanau,Germany and grade SC35UH supplied by Italfit Magneti of Udine, Italy aresuitable.

FIG. 3 is a simplified plan view of portion 80 of core 41 of stator 36of traction motor 30 of FIG. 1, showing further details and illustratinga preferred manner of construction. Core 41 is preferably radiallylaminated, that is, formed from many layers of spiral wound iron strip83. Strip 83 is preferably of the same general type of highmagnetization material used in electric machines. Grade M-15non-oriented electrical steel supplied by A K Steel Corporation,Middletown, Ohio is a non-limiting example of a suitable material. Slots56 needed to accommodate coils 37 are formed from cut-out regionspunched in strip 83 before it is wound into a toriodal shape for core41. The spacings between the cut-out regions of strip 83 are graduatedso that as the strip is wound one layer around the previous layer on atemporary mandrel or form, the cut-out regions in each new layer line upwith the cut-out regions of the previous layer to form slots 56 in thefinished core. Coils 37 are then conveniently wound in place in slots56. While this method of assembly of core 41 and coils 37 is preferredit is not essential. For example and not intended to be limiting, analternative arrangement is to form core 41 in short circumferentialsegments, one segment for each coil. The core segments can be made, forexample, using powder metallurgy techniques. A pre-wound coil is thenplaced on the segment and successive segments snapped or otherwiseattached together to form the toroidal shape of stator 36 complete withcore 41 and coils 37. The coils can be electrically coupled together inthe desired electrical configuration either before or after assembly.Either arrangement is useful.

FIG. 4 is a side view (looking generally in the direction of arrow 53 inFIGS. 1-2) of portion 54 of stator 36 of traction motor 30 of FIGS. 1-2,much enlarged and showing further details illustrating the static fluxflow through core 41 and rotors 32, 34 produced by PMs 33, 35. PMs 331,351 are particularly illustrated. Referring now to FIGS. 2 and 4together, coils 37 are mounted in slots 56 of stator core 41 betweenstator pole pieces 42. Air gaps 49, 49′ are provided between pole pieces42 of stator core 41 and PMs 33, 35. In the preferred embodiment, coils37 are divided into three groups, each driven by one of three phases ofAC current. These phases are denoted Θa, Θb, Θc. Currents Ia, Ib, Ic aresupplied to phases Θa, Θb, Θc respectively. As is common in the art,these three phases are “Y” connected with or without a neutral. Thecoils spaced around the stator are electrically coupled in spaced-apartpairs. Referring now to FIG. 2, coil 371 is coupled in series with coil374, coil 372 is coupled in series with 375 and coil 373 is coupled inseries with coil 376. Thus, coil 371 receives Θa+, coil 372 receivesΘc−, coil 373 receives Θb+, coil 374 receives Θa−, coil 375 receives Θc+and coil 376 receives Θb−. This coil arrangement is repeated aroundstator 36. While three phase AC windings are preferred, this is notessential and more or fewer phases may be used depending upon the needsof the vehicle design.

A problem associated with axial flux machines of the type described hereis the cogging arising from the cored stator design. Cogging torqueresults from the interaction of the magnet edges with the stator slots.Cogging appears as pulsations in the torque output of the motor. Unlesscompensated, these pulsations can be transferred to the vehicledriveline, thereby producing unwanted vibrations. Cogging also causeswasteful harmonics to be generated. When cogging is severe theseharmonics are visible in the motor's voltage and current waveforms. Ithas been discovered that cogging can be virtually eliminated by dividingthe PMs into two or more groups that are spaced apart on the rotors.

FIGS. 5A and 5B are plan views of interior surface 61, 61′ of rotor 60,60′ according to further embodiments of the present invention andsuitable for use in place of rotors 32, 34 of traction motor 30 of FIGS.1-2, so as to reduce or eliminate cogging. Interior surface 61, 61′ ofrotor 60, 60′ faces toward stator 36 and rotor 60, 60′ rotates aroundcenter 62, 62′ analogous to center 48, in much the same manner as rotors32, 34 already described. Surface 61, 61′ of rotor 60, 60′ has mountedthereon, PM's 64, 64′ generally similar to PMs 33, 35 of rotors 32, 34,but with different circumferential spacing, that is, different PM pitch51, 51′. As illustrated by PMs 640, 641, 642, 643 of rotor 60 and PMs640′, 641′, 642′, 643′ of rotor 60′, north-south magnetic orientationalternates in the same manner as for PMs 33, 35 of rotors 32, 34. Forexample, if PM 640 has a S pole facing axially away from surface 61(i.e., toward stator 36), then PM 641 will have a N pole, PM 642 a Spole, PM 643 a N Pole and so forth, facing stator 36, and similarly fortheir primed equivalents on rotor 60′. In FIG. 5A, PMs 64 areconveniently divided into two groups 66, 68, and in FIG. 5B PMs 64′ areconveniently divided into four groups 65′, 66′, 67′, 68′, but differentnumbers of groups may also be used and the examples in FIGS. 5A-B arenot intended to be limiting. Groups 66, 68 are separated by gaps 50 andgroups 65′, 66′, 67′, 68′ are separated by gaps 50′.

Where stator 36 has M pole pieces and M coils and is driven by a 3-phasesupply, then M/3 coils are assigned to each phase. Each PM bridgesapproximately across three stator pole pieces 42 and three coils 37 (seeFIGS. 2, 4). Thus, the preferred arrangement uses M/3 PMs. The statorpole pitch (SPP) is 360/M. The SPP is the angular separation between thecenterlines of successive stator pole pieces 42 (i.e., angle 47 in FIG.1). Where the PMs are uniformly distributed around the periphery ofrotors 32, 34, then the PM pitch (PMP) is 3×(360/M). In the embodimentof FIG. 5A, there are M=90 coils and pole pieces on stator 36 and M/3=30PMs on rotors 32, 34, 60. Thus SPP=360/90=4 degrees and for evenlydistributed PMs the PMP=360/30=12 degrees.

It has been found that cogging can be substantially reduced withoutadverse side affects by short pitching the PMs, for example in groups66, 68 by an amount equal to about one-half the SPP for each group. Inthe preferred embodiment, gaps 50 between groups 66, 68 are eachapproximately 2×SPP/2=2×360/(2M)=360/90=about 4 degrees for M=90. Thisis accomplished by reducing the spacing between PMs and/or slightlynarrowing the circumferential width of each PM so that the requisitenumber (360/12)/n fit in each group where n is the number of groups. InFIG. 5A for a 90-pole machine with three poles per PM and two groups ofPMs, there are 15 in each group. Thus, in the embodiment of FIG. 5A foran M=90 pole, 3 phase motor using short-pitched rotor 60, PMP_(S) 51desirably equals about (180−4)/15=11.73 degrees mechanical or 176degrees electrical, more or less. Electrical degrees equals mechanicaldegrees multiplied by the number of rotor pole pairs (15 for FIG. 5A).Persons of skill in the art will understand that gaps 50 in PM groupspacing of short pitched rotor 60 can vary from these ideal numbers. Forexample and not intended to be limiting, gaps 50 are usefully in therange of about 1 to 7 degrees, better from about 2 to 6 degrees andpreferably about 4 degrees. PMP_(S) 51 is adjusted correspondingly inaccordance with the size of gaps 50 and the number of PMs and gaps beingused.

FIG. 5B illustrates a further embodiment employing four groups of PMs65′, 66′, 67′, 68′ spaced apart by gaps 50′. Each group has 8 PMs sothat the total number of PMs is 32. As noted in FIG. 4, there aredesirably 3 slots and coils per PM so there are a total of 3×32=96 slotsand coils with the arrangement of FIG. 5B. So in FIGS. 5B, M=96.Shortened permanent magnet pitch PMP_(s) 51′ is conveniently about(90−3.75)/8=10.78125 mechanical degrees or 172.5 electrical degrees.Persons of skill in the art will appreciate based on the descriptionherein that while two and four groups are illustrated in FIGS. 5A-B,this is not intended to be limiting and more groups can also be used. Ingeneral, it is desirable that an even number of groups be used.

Expressed more generally, the shortened permanent magnet pitch PMP_(S)in mechanical degrees can be determined from the equationPMP_(S)=(γn360/M)(1/n−1/M)=360γ[(M-n)/M²], where M is the number ofpoles on the stator, n is the number of groups into which the permanentmagnets are divided (e.g., n=2, 3, 4 . . . ), and γ is the number ofphases (e.g., 2, 3, 4 . . . ). Thus for the arrangements of FIGS. 5A-B,identified respectively as PMP_(s)(60) and PMP_(S)(60′), evaluating theforegoing equation yields the shortened permanent magnet pitch valuesPMP_(S)(60)=(3*2*360/90)(1/2−1/90)=11.73 degrees, andPMP_(s)(60′)=(3*4*360/96)(1/4−1/96)=10.78 degrees, as noted above.

FIG. 5C is a plan view of enlarged segment 60-1 of rotors 60, 60′ ofFIG. 5A or 5B, showing further details and according to a furtherembodiment. Segment 60-1 illustrates three adjacent PMs 64, that is, PMs64-1, 64-2, 64-3. It will be noted that spacing 52 between adjacent PMs64 of FIG. 5C is not uniform, but varies as a function of radialdistance from radially inner edges 64-IN of PMs 64 to radially outeredges 64-OUT of PMs 64. In the example of FIG. 5C, magnet-to-magnetspacing or gap 52-1 at radially outer edges 64-OUT is smaller than gap52-2 at radially inner edges 64-IN. Stated another way, facing edges64R, 64L of adjacent PMs (e.g., PMS 64-2, 64-3) are not parallel butslant apart or toward each other, as preferred by the designer. In theexample of FIG. 5C, facing edges 64R, 64L slant apart as one progressesfrom radially outward PM edge 64-OUT toward radially inner PM edge64-IN, but this is not intended to be limiting and they can also slanttoward each other. Equivalently, the arrangement of facing edges 64R,64L are such that they are preferably not parallel to radial line 60Cthat passes through center 62, 62′ of rotor 60, 60′. It is preferredthat facing edges 64R, 64L not be parallel to each other or parallel toradial line 60C. This reduces the cogging without a significant loss oftorque and is generally superior in performance to prior artarrangements where facing edges 64R, 64L are parallel with respect toradial line 60C.

Short-pitching the PMs and varying the spacing of adjacent PM facingedges, as illustrated in FIGS. 5A-C, produces a significant improvementin cogging and harmonic distortion as can be seen in FIG. 6 which showsback-emf voltage waveforms 100, 101, 102 of the three phases of tractionmotor 30 incorporating short-pitched rotors of the type shown in FIG.5A. It will be observed that the waveforms are very sinusoidalindicating that there is little harmonic generation and therefore littlecogging. The reduction in cogging is a particular feature of the presentinvention. Short pitching the PMs averages the slotting effect of theinteraction of the rotor magnets and the stator pole pieces, therebyreducing the cogging. The invented PM short pitching arrangement isparticularly effective. The use of non-parallel facing magnet edges alsocontributes to the reduction in cogging.

FIG. 4 illustrates another aspect of the present invention. One of theproblems associated with axial flux motors is the low phase inductance,especially at higher speeds. This adversely affects the range of speedover which the motor will operate at substantially constant power.Moreover, this low inductance can increase the d-axis current injectionneeded at higher speed for field weakening, thereby resulting in lowerefficiency at higher speeds. Additionally, the slotting effect due tothe slots between the PMs mounted on the rotors increases the no-loadspin loss of the machine due to eddy current induced by the magnet flux.These problems are substantially eliminated by the inclusion of magneticfringing flux shunts or wedges 63 in stator core 41 above coils 37 (seeFIGS. 3-4). The material of magnetic wedges 63 conveniently has apermeability that is much higher than that of air, but much lower thanthe permeability of steel lamination strip 83 used to form core 41 (seeFIG. 3), and preferably does not saturate. This choice of this materialfor magnetic wedges 63 minimizes the short-circuit leakage flux into themagnetic wedges, while still providing improvement in the machineinductance. This provides a magnetic path for leakage flux, therebyimproving inductance at all torque levels. The improvement in machineinductance both improves the high speed constant power range and thehigh speed efficiency. Another benefit of magnetic wedges 63 is toincrease the machine back-emf, thus improving torque without increasingthe magnet content, and thus without increasing cost. This improvementin back-emf is achieved by the improvement of permeability of themagnetic circuit due to the addition of magnetic wedges 63 to the statorflux paths. The introduction of magnetic wedges 63 also reduces thestator slotting effect, which is a major source of no-load spin loss. Asa consequence, the no-load spin loss is also reduced by using wedges 63.Soft magnetic composite type steel such as Somaloy 500_(—)+0.6% LB1steel sold by Hoganas AB of Sweden, is a non-limiting example of theclass of materials useful for wedges 63, but other materials meeting thegeneral specification recited above may also be used. While thetrapezoidal-shape of wedges 63 illustrated in FIG. 4 allows them to beconveniently inserted into notches 58 in slots 56 and retained in place,this is not essential and any shape of wedges or fringing flux shunts 63that allows them to be placed at least partly across the openings ofcoil slots 56 is also useful. Non-limiting examples of other shapes formagnetic wedges 63 are trapezoidal, rectangular, elongated hexagon,half-cylindrical shapes, and so forth. However, it is preferable thatthey not protrude substantially into space 49, 49′ between pole pieces42 and PMs 33, 35 (e.g., see FIG. 4).

Referring again to FIG. 3. Two examples of magnetic wedges 63 are showninstalled in notches 58 of coil slots 56. Magnetic wedge 631 in coilslot 561 extends part way across coil slot 561 between radially inwardsurface 411 and radially outward surface 412 of annular core 41.Magnetic wedge 632 located in coil slot 562 extends beyond surfaces 411,412. The arrangement of magnetic wedge 632 is preferred, but is notessential and not intended to be limiting. Smaller or larger coverage ofslots 56 can also be used.

FIG. 7 shows shaft power versus speed curves 103-106 of motor 30incorporating magnetic wedges 63 of FIGS. 3-4. Curve 103 showscalculated and measured regeneration operation at 250 volts, curve 104shows the desired minimum motoring shaft power desired as a function ofspeed, curve 105 shows calculated and measured motoring operation at 250volts, and curve 106 shows the calculated and measured motoringoperation at 350 volts. It will be noted that the measured andcalculated machine performance curves are substantially coincidentindicating that the magnetic model of the machine is reliable, and thatthe target motoring specification is equaled or exceeded at all speeds.It can be further seen that at higher speeds, e.g., 600-1200 RPM thepower output becomes approximately constant for the machine nominalvoltage of 250V. Maintaining a long constant power range is highlydesirable for vehicle propulsion application. It will be noted furtherthat from zero to approximately 600 rpm (also at 250 volts; curve 105)the power output increases linearly with speed indicating that the motoris providing substantially constant torque over this range. This is alsodesirable.

FIG. 8 shows curves 107-108 of no-load power consumption versus speedfor two machines; Machine A (curve 107) without wedges 63 and Machine B(curve 108) with wedges 63, both operating under otherwise substantiallyidentical conditions. Both machines have comparable back-emf. It will benoted that Machine B (curve 108) with wedges 63 uses much less power andtherefore has significantly lower no-load spin loss. In addition toreducing the no-load spin loss, the addition of magnetic wedges 63 tostator 36 further improves the overall efficiency of the machine. Thisis shown by constant efficiency torque versus speed contours 109, 110presented in FIGS. 9A-9B. Each of contours 109, 110 is the locus ofallowable torque and speed at constant efficiency, the highestefficiencies in each case corresponding to the inner-most contours. FIG.9B shows data for Machine B with magnetic wedges 63 and FIG. 9A showsdata for an otherwise substantially identical Machine A without wedges63. Both motors were operating at 250 volts. In FIG. 9B, inner-mostcontour 109-1 corresponds to an efficiency of ninety percent while inFIG. 9-A innermost contour 110-1 corresponds to an efficiency of onlyeighty-seven percent. Thus, Machine B with wedges 63 has generallyhigher efficiency. In addition, for almost any given efficiency level,the torque-speed contours of Machine B (with wedges 63) in FIG. 9B havelarger operating area. This means that, for almost any given efficiencylevel, Machine B with wedges 63 can operate over a greater range oftorque and speed than Machine A without wedges 63. This can be seen forexample by comparing curves 109-2 and 110-2, which both correspond toeighty-five percent efficiency. The area of contour 109-2 is much largerthan that of 110-2. The inclusion of magnetic wedges 63 is an importantaspect of the present invention.

FIG. 10 is a perspective view of rotor support or yoke 70 according to apreferred embodiment of the present invention and FIG. 11 is aperspective view of assembly 87 comprising rotor support or yoke 70 withrotors 32, 34 mounted thereon. In the discussion that follows, it willbe understood that rotors 32, 34 can also have the configuration ofrotor 60, 60′ of FIGS. 5A-C, and such are intended to be included inreferences to rotors 32, 34 in connection with FIGS. 10-14. Rotorsupport 70 comprises axial spacing region 72 whose axial width 71conveniently (but not essentially) determines the axial spacing ofrotors 32, 34. Holes 73 are conveniently included in axial spacer 72 toreduce its weight. Support 70 also desirably but not essentially hasradial spacer 74 that centers rotors 32, 34 with respect to axis ofrotation 48. Radial spacer 74 may be made a part of axial spacer 72.Either arrangement works. Axial spacer 72 and radial spacer 74 are tiedtogether and supported in the proper position with respect to axis ofrotation 48 by radial gusset plates or web or spoke(s) 67 whose purposeis to couple rotors 32, 34 to whatever is being driven by traction motor30 and hold the moving parts (e.g., rotors 32, 34) in the properalignment with respect to axis of rotation 48 and stator 36 (not shownhere). Web 67 conveniently but not essentially has holes 77A-B providedtherein to facilitate mounting and reduce weight. Web 67 may also bemade in the form of one or more spokes extending from a central ring,rather than being a solid plate with holes, as shown for convenience ofexplanation in FIGS. 10-11. Either arrangement works. Web 67 attaches toa wheel, shaft or other part (not shown) intended to be driven bytraction motor 30, in any convenient way according to the needs of thevehicle designer. Rotors 32, 34 conveniently but not essentially haveventilation openings 75, 75′ therein (see FIG. 11) that provide for aircirculation into interior space 65 between rotors 32, 34 where stator 36will be located (e.g., see FIGS. 2, 14). This helps to maintain uniforminternal temperatures. Openings 75, 75′ also reduce the weight of rotors32, 34, which is desirable. For convenience of illustration PMs 33, 35are not shown in FIG. 11.

FIG. 12A is a simplified edge view and FIG. 12B is a simplified planview of portion 81 of rotors 32, 34 of FIG. 11 showing still furtherdetails. Referring now to FIGS. 11 and 12A-12B, rotors 32, 34 areprovided with scooped-out or hollowed-out regions 76, 76′ on theirexterior faces, that is, on rotor surfaces 78, 78′ facing away fromregion 65 between rotors 32, 34 where stator 36 will be located.(Scooped out or hollowed-out regions 76′ on face 78′ of rotor 34 are notvisible in FIGS. 11, 12A-12B but are indicated in phantom in FIG. 14.)Referring now to FIGS. 12A-12B, scooped out or hollowed-out regions 76,76′ of depth 98 are located on exterior surfaces 78, 78′ substantiallydirectly behind permanent magnets 33, 35 located on interior surfaces79, 79′ of rotors 32, 34 respectively, and are of substantially similararea or lateral extent as magnets 33, 35. Depth 98 of scooped out orhollowed-out regions 76, 76′ is chosen so as to not significantlyinterfere with magnetic flux 84 coupling between adjacent permanentmagnets 331, 332, 333, etc., on rotor 32 and analogously on rotor 34.For example, scooped out or hollowed-out region 761 lies substantiallydirectly behind permanent magnet (PM) 331, region 762 behind PM 332,region 763 behind PM 333 and so forth circumferentially around rotor 32.Magnetic flux 84 passes from PM 331 to PM 332 and from PM 332 to PM 333,etc., through rotor 32, traversing non-scooped out or non-hollowed-outregions 851, 852, etc., between PMs 33, essentially without significantinterference from scooped out or hollowed-out regions 761, 762, 763,etc. Rotor 34 is arranged in a similar way. This substantially reducesthe weight of rotors 32, 34 without a significant sacrifice in PM fluxcoupling and motor performance. Total flux in the rotor core behind themagnet is a minimum in the center of the magnet and gradually increasestowards the two magnet edges. Therefore, the scooped out or hollowed-outregion in the rotor back iron does not significantly affect total magnetflux, nor significantly affect the attainable torque. However, asignificant reduction in rotor mass is achieved. This is a particularfeature of the present invention.

Rotors 32, 34 are magnetic so as to provide a low reluctance magneticpath between adjacent PMs 33 on rotor 32 and PMs 35 on rotor 34. Armcoiron supplied by A K Steel of Middletown, Ohio is a non-limiting exampleof a suitable material for rotors 32, 34. In general rotors 32, 34 neednot be laminated, but this is not precluded. Rotor support structure oryoke 70 is preferably of a lighter and, usually, a non-magneticmaterial. Aluminum, magnesium, titanium, various non-magnetic metalalloys, plastics, metal-plastic composites, plastics loaded withnon-magnetic materials (e.g., glass, carbon, ceramic fibers orfragments, etc.) and combinations thereof are non-limiting examples ofmaterials suitable for support structure or yoke 70. What is importantis that support structure or yoke 70 be sufficiently stiff so as to holdrotors 32, 34 in axial and radial alignment with respect to stator 36(e.g., see FIG. 14), withstand the forces generated by operation ofmotor 30, couple the torque generated by motor 30 to the vehicle wheel(not shown), be generally corrosion resistant and have the minimumpossible weight consistent with the structural requirements. By usinglighter weight structural materials for rotor support 70 and limitingthe heavier magnetic materials of rotors 32, 34 to just the regions thatrequire low magnetic reluctance, the overall weight and moment ofinertia of motor 30 are minimized and the overall performance oftraction motor 30 is enhanced. This is a particular feature of thepresent invention.

FIGS. 13A-13B are simplified plan views of segment 86 of stator 36 andstator support 88 of traction motor 30 of the present invention, whereinFIG. 13A shows stator 36 and stator support 88 separated, and FIG. 13Bshows them assembled. Stator 36 has annular core 41 with poles 42 andwith coils 37 interspersed between poles 42. By considering FIGS. 1-4and 13A-B together, it will be apparent that coils 37 protrude beyondstator core 41 in the radial direction (perpendicular to axis 48) butnot in the axial direction (parallel to axis 48). This is a significantdesign feature since it allows the circumferentially directed statorreaction torque to be transferred from stator 36 to stator support 88 bymeans of coils 37 engaging stator support 88. Coils 37 are preferablywound from a flat ribbon and therefore possess significant lateral(circumferential) strength. Thus, coils 37 can withstand significantlylarger circumferentially directed forces than would be possible withwire wound coils.

Annular shaped stator support 88 preferably but not essentially hashollow interior 90 through which coolant 91 circulates. Inwardlyextending from stator support 88 are tooth-like protrusions 92 shapedand spaced so as to fit intimately between coils 37 and in closeproximity to core 41 of stator 36, as can be seen in FIG. 13B. Thisarrangement provides low thermal impedance so that heat may be readilyextracted from coils 37 of stator 36 as shown by arrows 93 and frompoles 42 of core 41 of stator 36 as shown by arrows 95. In the preferredembodiment, stator support 88 is attached to stator 36 by a thermallyconductive epoxy, as for example, insertion molded or cast thermallyconductive plastic or equivalent material 99 placed between protrusions92, coils 37 and pole pieces 42 of core 41. This insures intimatethermal contact between support 88 and stator 36. Stycast Type 2850 MTepoxy resin supplied through Emerson and Cuming of Canton, Mass., USA isa non-limiting example of suitable thermally conductive material 99.Stator support 88 also reacts the circumferentially directed forcescreated by motor 30 by means of, for example, attachment rings 88A, 88Cand housing 113 shown in FIG. 14 by which motor 30 is coupled to thevehicle frame (not shown). Attachment rings 88A, 88C and housing 113 ofFIG. 14 are non-limiting examples of how stator support 88 can beattached to the vehicle. Persons of skill in the art will understandbased on the description herein that this is merely by way ofillustration and not intended to be limiting and that the particularmeans for fixedly attaching stator support 88 to the vehicle will dependupon the particular vehicle configuration.

FIG. 14 shows a partially cut-away and simplified cross-sectional viewthrough traction motor assembly 112 of the present invention with motor30 comprising rotors 32, 34, rotor support 70, stator 36, stator support88 and housing 113, assembled in functional relationship. Internal ringstructure 88A is conveniently fixedly attached to stator support 88.External ring or plate 88C is conveniently attached to ring 88A by bolts88D, as for example by engaging threads 88B, but this is not essential.Any suitable means of attachment may be used. External ring or plate 88Cis in turn fixedly attached to housing 113 by any convenient means. Inthis way, the reaction torque of motor 30 is transferred from stator 36to external housing 113 and eventually to the vehicle frame. The exactmanner of attachment of external housing 113 to the vehicle frame willdepend upon the particular vehicle configuration and is omitted here.

Centrally located output shaft 114 is conveniently coupled to webportion 67 of rotor support 70, for example, by bolts 77AA engagingthreaded holes 77A, but this is not essential. Any means of couplingrotor web 67 to output shaft 114 of motor 30 of assembly 112 may beused. Further, while the construction and operation of motor 30 andmotor assembly 112 have been described in terms of rotor support 70being coupled to the wheel and stator support 88 being coupled to thevehicle frame, this is merely for convenience of description and notintended to be limiting. The connection of motor 30 and motor assembly112 between the wheel and vehicle frame could equally well be reversed,that is, stator support 88 can be coupled to the wheel and rotor support70 can be coupled to the vehicle frame. Either arrangement is useful.

The upper half of FIG. 14, that is, above axis of rotation 48 showsinterior region 69 of motor assembly 112 wherein rotors 32, 34 with PMs33, 35 and cooling holes 75, rotor support 70 with attachment holes 77Aand mass reduction holes 77B, and alignment regions 72, 74, stator 36with coils 37 and pole pieces 42 of core 41, stator support 88 withcooling chamber 90 and inwardly directed teeth 92 for engaging coils 37and pole pieces 42 and so forth, are arranged in functionalrelationship. The lower half of FIG. 14, that is, below axis of rotation48, shows exemplary housing 113 surrounding interior region 69. Bearings115, 115 are desirably provided within or adjacent to housing 113 tosupport and align output shaft 114 (and therefore rotors 32, 34) withrespect to housing 113 and stator support 88. Bearings 115, 115 haveinner races 116, 116′ coupled to machine output shaft 114 and outerraces 118, 118′ coupled to housing 113, which is in turn coupled tostator support 88. Ball-bearings 117, 117′ roll between races 116, 118and 116′, 118′ respectively. By fixedly attaching races 116, 116′ tooutput shaft 114 and races 118, 118′ to housing 113, gaps 94, 94′between PMs 33, 35 and stator pole pieces 42, 42′ are established andmaintained at the proper size. Housing 113 with bearings 115, 115 isintended to be merely exemplary and not limiting. Persons of skill inthe art will understand based on the description herein that themechanical arrangement for supporting rotors 32, 34 with respect tostator 36 may vary depending upon the particular vehicle or otherapparatus to which motor 30 and assembly 112 is being applied.Accordingly a wide variety of housing and support arrangements mayequally well be used and the claims that follow are not intended to belimited merely to the examples presented herein for purposes ofexplanation.

The electrical and magnetic operation of motor 30 will now be describedin more detail. In a Y-connected three-phase machine with no neutralwire, the sum of the three phase currents I_(a), I_(b), I_(c) is zero.Therefore, the actual number of variables is two and the third phasecurrent can be calculated from the other two. In this way, a three-phasemachine with phase currents I_(a), I_(b), I_(c) can be representedmathematically by two phases. This two-phase representation is wellknown in the art as the d-q representation, where machine behavior canbe described in terms of quadrature currents I_(d), I_(q), where thed-axis is customarily aligned with the permanent magnet axis and theq-axis leads the magnet axis by 90 degrees electrical. This isillustrated in FIG. 15, which provides a simplified representation ofthe d-q magnetic axes used in analyzing the motor of the presentinvention. The control angle α is the electrical angle between the phasecurrent I_(s) and the q-axis current I_(q). The phase current I_(s) isthe vector sum of d and q axes currents I_(d), I_(q). For sinusoidalphase currents, I_(s) is the peak of the phase current. In general forpositive values of the control angle α, the d-axis current I_(d) isnegative, that is, it opposes the PM field. It is well known in the artto represent the operation of a PM multi-phase motor in terms of I_(d),I_(q) and α=arctan (−I_(d)/I_(q)).

The invented control technique can be implemented for a PM machine, bothsurface and interior type and makes it possible to maximize performanceindices of the system such as efficiency, torque per ampere, etc. Byproviding improved field weakening the control regulator (illustrated inFIGS. 20A-B, 22) can transition into the non-linear (over modulation)region of operation with operation close to the six-step or square wavemode of control Six-step control of a three-phase PM motor is well knownin the art and is described for example, in Power Electronics,Converters, Applications, and Design, Second Edition, by Ned Mohan et alpublished by John Wiley and Sons, Inc., New York, N.Y. In the six-stepmode of control, timed current pulses are supplied to combinations oftwo of the three phases, which combination changes every sixtyelectrical degrees as the rotor turns. By allowing transitions into thenon-linear region of operation the improved controller of the presentinvention improves both high-speed power and efficiency. The inventedarrangement works especially well for a strong flux machine such as theaxial flux machine of the present invention and works well in thepresence of harmonics such as slot harmonics or winding harmonics. Thetorque command T*, motor speed ω_(r), bus voltage Vdc and stored machineproperties are used to determine the optimum phase currents forefficient operation. The current commands are calculated using thecurrent and voltage limits of the system while utilizing themefficiently. These feed-forward current commands can then be used forcontrol of the machine and, since they are calculated using the voltageand current limits, ideally they are adequate to control the machineeven during high-speed, field weakening operation. However, due tovariations of the machine model parameters and the actual machineparameters, some deviation is expected and so a feedback field weakeningterm is provided to correct the error between the commanded current andthe actual required current. Because the invented control approach usesthe actual machine properties, the correction term is generally smalland a smooth transition into the over-modulation region is obtained.With respect to the variables mentioned herein, the convention isadopted of adding a superscript (*) to a quantity to indicate that it isa commanded quantity. For example, T represents the actual machinetorque and T* represents the commanded torque, that is, the torquecommand issued by the user to the motor controller; I_(d) represents theactual d-axis current and I_(d)* represents the commanded d-axiscurrent, that is, the d-axis current requested by the controller logic,and so forth for the other variables.

FIG. 16A shows curves 130 of the calculated and observed torque of motor30 as a function of control angle α, FIG. 16B shows curves 132 ofcalculated d-axis flux as a function of control angle α, and FIG. 16Cshows curves 134 of calculated q-axis flux as a function of controlangle α, at different values of current. Positive current increases inthe directions of arrows 131, 133, 135. The machine (motor)characteristic data such as is illustrated in FIGS. 16A, 16B and 16C areused to develop a non-linear model of the machine that includes bothsaturation and cross saturation effects. Once the non-linear model iscreated it is used to search for the optimized control parameters andthe d-axis and q-axis current commands, using the methodologyillustrated in FIG. 17. For each torque T, speed ω_(r) and bus voltageV_(dc) there exists a unique set of control parameters I_(d), I_(q) thatmaximize the machine performance indices. This model searches for thesecontrol parameters for all machine torque-speed operational points fordifferent bus voltages. As will be subsequently explained, the resultingoptimized control parameters are stored in look-up tables that areemployed by motor control system 160 (see FIG. 20) of the presentinvention, for operating the motor.

FIG. 17 illustrates method 790 for calculating optimized controlparameters. This method is preferably offline and can be carried out,for example, by computational system 500 of FIG. 22 or any othercomputer system supplied with the needed input data. The calculatedcontrol parameters thus obtained are added as look-up table, e.g.,stored in memory 506 in real time machine controller 500 (see FIG. 22).Method 790 begins with START 792. In initial step 794 the inputs are thevalues of the torque command (T*), the rotor speed (ω_(r)), the dc-busvoltage (V_(dc)) and the maximum inverter peak current (I_(max)), forwhich the control parameters (d- and the q-axes currents) are to becalculated. Method 790 calculates the optimized control parameter forall torque-speed (T-ω_(r)) operating points of the machine for a rangeof operating battery voltages (V_(dc)). All these control parameters arethen stored in memory 506 of real-time controller 500 as, for example,in lookup tables. I_(max) is an upper limit of the phase current,usually imposed by the inverter thermal limit. All the controlparameters have to be calculated for operating within the supply voltage(V_(dc)) and the current limit (I_(max)). In step 800, a standard rootseeking procedure, such as the method of bisections, etc., is executedto determine the control parameters I_(s) and α=arctan (−I_(d)/I_(q))(see FIG. 15), operating within the inverter maximum current I_(max) anddc bus voltage V_(dc), needed to produce the commanded torque T*. Query802 is then executed to determine whether all possible controlparameters, all currents (i.e., from 0 to I_(max)) and all controlangles (i.e., from 0 to 90 degrees), are considered to make sure thatthe optimal combination is selected. If the outcome of query 802 is YES(TRUE), meaning that all possible combinations have been considered,then method 790 terminates at STOP 804. If the outcome of query 802 isNO (FALSE), meaning that all possible combinations have not yet beenconsidered, then method 790 proceeds to Calculate Torque step 806 wherethe torque T_(calc) is calculated for the current choice (from block800) of the control parameters I_(s) and α. To calculate torque T_(calc)the machine characterization data of FIG. 16A is used. Query 808 is thenexecuted to determine whether the absolute difference between thecalculated torque T_(calc) and commanded torque T* is less than apredefined small number ε. In the preferred embodiment, ε is selectedsuch that the calculated torque T_(calc) is within 0.1% of the commandedtorque T* or less. Higher or lower values of ε can also be useddepending on the level of accuracy desired. If the outcome of query 808is NO (FALSE) then method 790 returns to block 800 and selects anotherset of control parameters I_(s) and α for the commanded operating point(T*, ω_(r)) and the voltage and current limits (V_(dc) and I_(max)) andrepeats steps 800-808 until the outcome of query 808 is YES (TRUE) orSTOP 804 occurs, i.e. the outcome of block 802 is YES (TRUE), whichmeans that all the control parameters (I_(s) varying from 0 to I_(max)and control angle α varying from 0 to 90 degrees) have been checked fora valid set of control parameter. If the outcome of query 808 is YES(TRUE), meaning that a useful set of control parameters has been foundthat will produce the desired commanded torque T* at the machine output,then method 790 proceeds to step 810 where the d-axis and the q-axisflux linkages, ψ_(d), and ψ_(q), respectively, are determined. Tocompute the machine flux linkages the characterization data of FIGS. 16Band 16C are used. The control parameter (I_(s) and α) selected by thesteps 800-808 produce the commanded torque T* operating within thecurrent limit of I_(max). However, the voltage limit imposed by thebattery voltage V_(dc) also needs to be considered. The next few stepscalculate the machine terminal voltage and check whether the machinevoltage stays within the battery voltage V_(dc). For a bus voltage ofV_(dc) the maximum phase voltage available to the machine is(2/π)×V_(dc), this mode is called the six-step mode, where the fullbattery voltage is applied between machine terminals. In the preferredembodiment, the full six-step mode is not used but approximately 95% ofthe six-step mode voltage. The constant M_(high) (see Table I) in block814 is selected accordingly. Calculate Voltage step 812 is then executedwherein the machine phase voltage V_(s) (defined in Eq. [4]) iscalculated using the flux linkages determined in step 810 and Eqs.[2]-[5] described later. Then query 814 is executed wherein the peak ofthe phase voltage V_(S) is compared to the dc-bus voltage V_(dc)multiplied by a constant (2/π)×M_(high). The quantity (2/π)×V_(dc) isthe maximum phase voltage available to the machine for a battery voltageof V_(dc). This mode is known as the six-step mode. The constantM_(high) defines the inverter limit in the over-modulation region aswill be explained in more detail later in connection with Table I andFIGS. 20A-B. If M_(high) is set to 1, inverter 182 (see FIG. 20)operates in six-step mode. In the preferred embodiment M_(high) is setto 0.95, which means that inverter 182 is operating at 95% of thesix-step voltage limit. Inverter 182 operates in six-step when full busvoltage V_(dc) is applied to the terminals of machine 30 in FIGS. 20A-B.While the preferred value of M_(high)=0.95, useful values are in therange of 0.90≧M_(high)≧1.0 and more conveniently 0.92≧M_(high)≧0.98. Ifthe outcome of query 814 is YES (TRUE), which means that the selectedcontrol parameters would require more inverter voltage than available,then method 790 returns to block 800 as shown by paths 815, 823 where afurther set of control parameters is selected. If the outcome of query814 is NO (FALSE), then the current set of control parameter willachieve the commanded torque without exceeding the current and thevoltage limits of I_(max) and V_(dc) respectively. In subsequent step816 the system losses (machine, inverter, etc.) are calculated and instep 818 the system efficiency is calculated. The losses are the sum ofthe inverter loss (IL) and the machine loss (ML), that is Σ(IL)+(ML).Persons of skill in the art will understand how to determine theselosses. The efficiency η is given by the equationη=[(ω_(r)×T*)/(ω_(r)×T*+Σ(IL)+(ML))]. Query 820 is then executed tocompare the currently computed efficiency η_(calc) with the largestefficiency value η_(max) obtained with a previous valid set of controlparameters. If the outcome of query 820 is NO (FALSE) indicating thatthe current efficiency is less than a previously computed efficiency,then method 790 returns to block 800 as shown by path 821, 823 to selectanother set of control parameters. If the outcome of query 820 is YES(TRUE) then method 790 proceeds to step 822 wherein the current set ofcontrol parameters I_(s) and α are stored and η_(max) is set equal tothe current value η_(calc) and the new value of η_(max) is also stored,as for example in memory 506 of system 500 (see FIG. 22). Sub-steps 822Aand 822B may be executed in either order. Following completion of step822, method 790 returns to block 800 as shown by path 823. Method800-823 repeats until the whole control range (I_(s) varying 0 toI_(max) and control angle α varying 0 to 90 degrees) is checked for theoptimal control parameters. The above-described process should yield avalid set of control parameter (I_(s), α) that maximizes the systemefficiency for the required machine operating point (T*, ω_(r)) andvoltage and current limits (V_(dc) and I_(max)). The whole processstarting from the selection of another operating point (block 794) tothe end should be carried out for all machine operating point (e.g., theentire torque-speed plane) and operating ranges of the battery voltages.Once all the control parameters are obtained, they are stored in memory506 of real time controller 500, e.g., as look-up table 162 of FIGS.20A-B.

FIGS. 18A and 18B show curves 136, 138 of torque versus speed foroptimal control parameters, the d- and the q-axes current commandsrespectively, for all torque-speed operating points of the machine whosecharacteristics are shown in FIGS. 16A-C. The bus voltage Vdc is 250volts. These illustrate a typical set of optimum control parameters forthe PM machine of FIG. 14, which maximize the drive system efficiency η.Curve 136 of FIG. 18A shows constant current contours of the q-axiscurrent command and curve 138 of FIG. 18B shows constant currentcontours of the d-axis current command. The parameter values on thevarious curves are I_(q) values in FIG. 18A and I_(d) values in FIG.18B.

Optimal control parameters are calculated for several bus voltages andfor both motoring and regeneration operations. As will be subsequentlyexplained in more detail, these control parameters are stored in look-uptables available to motor control system 160 (FIGS. 20A-B) and system500 (FIG. 22). It is important to calculate look-up tables for motoringand regenerating operations separately. For the same torque-speedoperating point, the machine terminal voltage during regenerationoperation is lower than for motoring operation due to reverse directionof current flow. As a consequence, more torque is available during fieldweakening regeneration operation as compared to the motoring operation.

FIG. 19 shows plot 140 of observed torque versus speed under variousoperating conditions for machine 30 according to the preferredembodiment of the present invention. Curve 142 corresponds to motoringat Vdc=184 volts, curve 143 generating at Vdc=184 volts, curve 144motoring at Vdc=250 volts, curve 145 generating at Vdc=250 volts, andcurve 146 motoring at Vdc=316 volts and curve 147 generating at Vdc=316volts. It is clear that at high speed significantly more power(torque×speed) is available during regenerating operation as compared tomotoring operation for the same bus voltage Vdc.

FIGS. 20A-B are simplified block diagrams of a motor control systemprocess architecture 160 according to a preferred embodiment of thepresent inventions, wherein FIG. 20A provides an overview and FIG. 20Bprovides further detail. The hardware for performing the functionsillustrated in FIGS. 20A-B is shown in FIG. 22. The control system ofthe present invention achieves two objectives: first, to maximizemachine performance and second, to utilize the DC bus voltage V_(dc)effectively at high speed. The first objective is achieved by theoptimized control table in block 162. The second objective is achievedby the field weakening provided by feedback module (field weakeningfunction) 186 in cooperation with optimized control parameter block 162.In a permanent magnet (PM) machine, the PM flux is always present. Whenthe rotor rotates, the rotating magnet flux induces voltage in thestator windings, which is called the back electromotive force(back-emf). As the speed becomes higher and higher, the back-emf alsoincreases. Above a certain speed the back-emf may exceed the DC busvoltage V_(dc). At that point, control of the current through themachine is no longer possible. Therefore there is a need to reduce themagnet flux to reduce the back-emf so that the machine current can becontrolled. This reduction in magnet flux is referred to as fieldweakening. In a PM machine, the PM flux itself cannot be reduced,therefore a negative d-axis current is injected into the machine at highspeeds to counteract a portion of the PM flux, thereby reducing theback-emf. Control function 160 carried out by real time controller 501is particularly effective and allows greater than 95% utilization of thebus voltage with stable control and good control response. The followingparameters are defined for use in connection with control function 160of FIGS. 20A-B and control system 500 of FIG. 22:

-   -   T*: Torque Command    -   ω_(r): Rotor Speed in rad/sec    -   ω_(e): Electrical frequency in rad/sec    -   θ_(r): The measured or estimated rotor position    -   V_(dc): DC Bus Voltage    -   I_(d): d-axis current    -   I_(d)*: d-axis current command    -   I_(d)**: Modified (by the field weakening block 186) d-axis        current command    -   I_(q): q-axis current    -   I_(q)*: q-axis current command    -   ψ_(d): d-axis flux linkage (flux linkage is the flux linking a        coil created by another coil carrying current or a permanent        magnet)    -   ψ_(d)*: d-axis flux created by the d-axis current command I_(d)*    -   ψ_(d)**: d-axis flux created by the modified d-axis current        command I_(d)**    -   ψ_(q): q-axis flux linkage    -   ψ_(q)*: q-axis flux created by the q-axis current command I_(q)*    -   R_(s): Machine per phase resistance    -   U*_(d): d-axis voltage command (to the inverter)    -   U*_(q): q-axis voltage command    -   U_(D)*: d-axis voltage in the stationary frame    -   U_(Q)*: q-axis voltage in the stationary frame    -   M_(index): Modulation index, which defines the amount of voltage        utilized by the inverter. (A modulation index of 1 indicates        100% utilization of the dc bus voltage.)    -   M*_(index): Modulation index command    -   M_(ref): Reference modulation index. This defines the amount of        voltage to be utilized by the inverter    -   M_(low): A lower threshold value for M_(index)    -   M_(high): A higher threshold value for M_(index)    -   PI: Proportional plus Integral controller.

Optimized current command table 162 receives inputs T*, ω_(r), andV_(dc) defined above. Table 162 is conveniently a look-up table, whichis determined off-line using the methods discussed in connection withFIGS. 16-19, wherein examples of optimized control parameter data areshown. The measured data defines the conditions that result in optimumperformance, as for example, optimum efficiency, and include injectingnegative d-axis current at high speed for field weakening. Based on: (i)the actual rotor speed ω_(r) obtained from measured quantities function184 of FIGS. 20A-B (and hardware block 512 of FIG. 22), (ii) user inputcommanded torque T*, and (iii) DC bus voltage V_(dc) obtained frommeasured quantities function 184 of FIGS. 20A-B (and hardware block 512of FIG. 22), table 162 provides the commanded d-axis current I_(d)* andthe commanded q-axis current I_(q)* that should achieve the commandedtorque T* at speed ω_(r). I_(d)* provides stability to the currentregulation by lowering the machine back emf voltage at high speed.Ideally, I_(d)* from 162 above is sufficient to lower the back emf andprovide stability to the current regulator. However, any deviationbetween the optimized command table parameters and actual machineperformance is taken care of by field-weakening correction function 186described in more detail later. Function 186 provides error correctionterm ΔI_(d)* which is added to I_(d)* in SUM function 199. This modifiedd-axis current is referred to as I_(d)** that is,I_(d)**=(I_(d)*+ΔI_(d)*). The I_(q)* output of function 162 and theI_(d)**=(I_(d)*+ΔI_(d)*) output of SUM function 199 are fed to currentregulator 185, which computes the necessary drive duty cycles D_(a),D_(b), D_(c) for inverter 182 that, in turn, drives machine 30. Feedback187 (see FIG. 20A) is provided by current regulator 185 to fieldweakening function 186 so that the output of regulator 185 is adjusted(by modifying the commanded d-axis input current) to optimize overallperformance and take into account small variations in machineproperties.

Referring now to FIG. 20B, the I_(q)* output of block 162 and theI_(d)**=(I_(d)*+ΔI_(d)*) output of SUM block 199 are fed to SUMfunctions 163, 165 respectively, where the actual values I_(d), I_(q)obtained from measured quantities function 184 are subtracted, givingthe differences (errors) between the command value and actual values,which errors are then fed to PI functions 168, 170. Functions 168, 170are proportional plus integral (PI) controllers, which are well known inthe art. A properly designed PI controller will drive the above-notedcurrent errors to zero by appropriately modifying the voltage applied tothe machine. The outputs of PI functions 168, 170 are fed respectivelyto SUM functions 172, 174 where the data received from PI function 168is summed with the quantity (ω_(r)ψ_(d)*+I_(q)*R_(s)) and the datareceived from PI function 170 is summed with the quantity(−ω_(r)ψ_(q)*+I_(d)*R_(s)), and the results fed to over-modulationfunction 176. The above two feed-forward terms are basically therespective axes (d- and q-axes) speed and resistive voltage terms. Byadding these two terms feed-forwardly to the current control loop, thedynamics of the current regulators are improved. Over-modulation is atechnique by which inverter 182 moves from operation in the linearregion to operation in a non-linear region to maximize the voltage fedto the machine. There are several over-modulation techniques known inthe art. Function 176 implements an algorithm described by Holtz et elin IEEE Transactions on Power Electronics, Vol. 8, No. 4, October 1993,pp. 546-553. This algorithm continuously and smoothly varies inverterfundamental output voltage with the modulation index up to its operationat full six-step. Function 176 insures that inverter 182 continues toprovide stable control of phase currents I_(a), I_(b), I_(c) even athigh values of modulation index M_(index) when inverter 182 is no longerlinear in operation. Modulation index M_(index) is a measure of theinverter peak AC output versus the DC input V_(dc). M_(index)=0, meansthat the AC output voltage supplied by inverter 182 is zero andM_(index)=1.0, means that the full battery voltage V_(dc) is beingapplied to the machine terminal (this mode is also known as six-stepmode). Up to about M_(index)=0.9069 where inverter 182 is delivering90.69% of the battery voltage to its output AC waveforms, operation ofinverter 182 is substantially linear. Beyond that it is non-linear.Block 176 utilizes the algorithm of Holtz et al (ibid) to insure thatoperation in this region is still stable and provides d and q axisvoltage commands U*_(d), U*_(q), respectively, which are fed tosynchronous to stationary frame transformation function 178.

The approximately sinusoidal signals being supplied to machine 30 have acertain frequency. If an observer sits near the peak of the sine waveand rotates at the same frequency, the signal appears to be stationaryin time. This is referred to in the art as the “synchronous frame” asopposed to the “stationary frame” where the observer sees the actualtime varying AC signals. In the synchronous frame the synchronous ACquantities appear as DC quantities and are therefore easier to control.The phase current I_(s) and its d-axis and q-axis components I_(d) andI_(q) are actually sinusoidal but in the synchronous frame appear as DCquantities. Function 178 converts these synchronous frame DC quantitiesback to substantially sinusoidal AC quantities in the stationary(real-time) frame. Function 178 yields outputs U_(D)* and U_(Q)* whichare fed to duty cycle calculator block 180. D and Q are the stationarycounterpart of the synchronous frame quantified d and q. The followingexpression is used to convert synchronous frame quantities intostationary frame and vice versa

$\begin{matrix}{\begin{bmatrix}x_{D} \\x_{Q}\end{bmatrix} = {\begin{bmatrix}{\cos ( \theta_{r} )} & {- {\sin ( \theta_{r} )}} \\{\sin \; ( \theta_{r} )} & {\cos \; ( \theta_{r} )}\end{bmatrix}\begin{bmatrix}x_{d} \\x_{q}\end{bmatrix}}} & \lbrack 1\rbrack\end{matrix}$

where x is any machine variable such as the machine voltage, current,etc., and θ_(r) is the rotor position. Inverter 182 is conventional.Inverter 182 conveniently operates by pulse width modulation (PWM). Dutycycle calculator 180 determines the width of the pulses to produce thedesired voltage (at the output of the inverter) as commanded by thecurrent regulator. The wider the pulses (greater duty cycle) the greaterthe voltage and therefore the greater the output currents. Function 180calculates the inverter duty cycles D_(a), D_(b), D_(c) for each phasea, b, c needed in response to inputs U_(D)* and U_(Q)* so that inverter182 will produce the commanded voltages U_(D)* and U_(Q)* at the machineterminals to produce the desired phase currents I_(a), I_(b), I_(c).D_(a), D_(b), D_(c) are fed to inverter 182. Inverter 182 receivesD_(a), D_(b), D_(c) and V_(dc) and supplies the requisite voltage pulsesto motor (machine) 30 to provide phase currents I_(a), I_(b), I_(c).Measured quantities function 184 conveniently measures phase currentsI_(a), I_(c) flowing from inverter 182 to machine 30 and from these twocalculates phase current I_(b). In a Y-configuration with no neutral,the vector sum of I_(a), I_(b), I_(c) is zero, so any two phase currentsare sufficient to determined the third. However, any means or method fordetermining I_(a), I_(b), I_(c) may be used. Function 184 receives thebattery voltage V_(dc) and also conveniently receives (e.g., fed by asensor) ω_(r) and θ_(r) from machine 30 but this is not essential. It iswell known in the art that both quantities can be determined by ananalysis of the phase currents or other means that do not requireseparate sensors on machine 30. Either arrangement is useful. Function184 uses these inputs to calculate the corresponding values of I_(d) andI_(q). Function 184 is performed by measured quantities detector block512 of FIG. 22.

The following describes field weakening correction function 186. Foreach current I_(s) and its control angle α and hence for each d-axis andq-axis current, machine 30 produces certain d-axis and q-axis flux. Themagnitude of these flux linkages does not change with speed and istherefore static in nature. These flux values are shown by curves 132,134 in FIGS. 16B-16C. Static flux table function 188 calculates or looksup the commanded d-axis and q-axis flux linkages ω_(d)**, ψ_(q)*resulting from the modified d-axis and the q-axis current commandsI_(d)**, I_(q)* obtained from function 162. I_(d)** is the d-axiscurrent command from function 162 plus any field-weakening correctionterm added in SUM function 199. The outputs of function 188 are fed tofunction 190, which calculates the commanded modulation index M*_(index)based on I_(d)**, I_(q)*, R_(s), ω_(r), V_(dc), and ψ_(d)**, ψ_(q)*,according to the following equations:

V _(d) *=I _(d) **R _(s)−ω_(e)ψ_(q)*  [2]

V _(q) *=I _(q) *R _(s)+ω_(e)ψ_(d)**  [3]

V _(s)*=[(V _(d)*)²+(V _(q)*)²]^(1/2)  [4]

M* _(index)=(πV _(s)*)/(2V _(dc))  [5]

M_(index)* is used to calculate the limits applied in saturationfunction 198 and reference modulation index M_(ref) which is explainedlater in connection with Table I.

Function 192 of field-weakening module 186 calculates the square of themagnitude of M_(index). The output of functions 172 and 174 (which arethe inputs of function 192) are the d-axis and the q-axis voltages thatwould be applied to the machine by the inverter. Using the equivalentequations of [4] and [5], M_(index) is calculated. In the calculation OfM_(index) the actual voltages, to be applied by the inverter, are usedas opposed to the commanded voltages used in equations [2]-[5]. Theoutput of function 192 is fed to SUM 194 where |M_(index)|² issubtracted from |M_(ref)|², where M_(ref) is the reference modulationindex (see Table I), and the result fed to PI function 196. M_(ref)defines the fraction of the available DC voltage that is to be used byinverter 182. PI function 196 produces the desired additional d-axiscurrent feedback needed to match the modulation index M_(index) to thereference modulation index M_(ref). The output of PI function 196 is fedto non-linear compensator 198 wherein the upper and lower limits on thefeed-back error current ΔI_(d)* are set, according to Table I. Thefeed-back error current ΔI_(d)* modifies the current I_(d)* fed byoptimized command table 162. Ideally, the feed-back error current shouldbe zero since function 162 should inject the right amount of d-axiscurrent into the machine for field-weakening control at high machinespeeds. However, the feed-forward control derived from function 162 bycontroller or current regulator 185 cannot guaranty stability, becausethere are sometimes variations between the machine parameters stored infunction 162 and the actual machine due to aging effects, variation inoperational condition such as temperature, variation from one machine toother due to manufacturing differences etc. Hence, field-weakeningcorrection function 186 takes care of such variations by providing thecorrection term ΔI_(d)* which is added to I_(d)* in SUM function 199.

The magnitude of M_(ref) fed to block 194 and the setting of the I_(d)limits in saturation block 198 activates or de-activates the voltageloops. This is explained in the following table. Three cases areconsidered. The logical operations defined in Table I are used to setthe limits in blocks 198 and define the input M_(ref) to the block 194.

TABLE I Limit Settings Case # Case M_(ref) I_(dsat) ⁺ I_(dsat) ⁻ VoltageLoop 1 M*_(index) < M_(low) M_(high) 0 −K₂|I_(d)*| Not Active 2M*_(index) > M_(low) M*_(index) K₁|I_(d)*| −K₂|I_(d)*| Active andM*_(index) < M_(high) 3 M*_(index) > M_(high) M_(high) K₁|I_(d)*|−K₂|I_(d)*| Active

Case 1 (M*_(index)<M_(low)):

M_(ref) is set to M_(high) and I_(dsat) ⁺ is set to zero. With thesesettings the error signal to the PI block 196 is positive and the outputof voltage loop 186 is zero since the upper saturation limit in thesaturation block 198 is set to zero. Thus, voltage loop 186 isdeactivated. The negative saturation limit of block 198 has noconsequence, however, for convenience it is set to −K2|I_(d)*|.

Case 2 (M*_(index)≧M_(low) and M*_(index)<M_(high)):

M_(ref) is set to M*_(index). The upper and the lower saturation limitsin block 198 are set to K1|I_(d)*| and −K2|I_(d)*| respectively. Thesesettings activate voltage loop 186. Voltage loop 186 loop is activatedwhen M*_(index) exceeds the lower limit M_(low). This lower limit can beset to any value. Typically when current regulator 160 is operating inthe linear region (e.g., M*_(index)<0.9069) inverter 182 has adequatevoltage margin and help from voltage loop 186 is generally not required.Therefore, the lower limit M_(low) may be set at the transition valuebetween the linear and the non-linear region or slightly lower. Thisallows a smooth transition from the linear to the non-linear region.

The d-axis current command I*_(d) is calculated in block 162 to maximizethe system performance while properly utilizing the bus voltage.Therefore, ideally under steady state condition M*_(index) shouldclosely match with M_(index) and no help would be needed from voltageloop 186. In other words, output ΔI_(d)* of the saturation block 198would be zero. However, voltage loop 186 would be needed duringtransient operation to overcome the additional transient voltages (e.g.,from the inductive drops). Also, due to differences between the actualmachine characteristics and the measured characteristics illustrated inFIGS. 16A-C, the actual modulation index M_(index) is expected to bedifferent from the commanded modulation index M*_(index). The level ofdeviation will depend on the error between the measured and actualmachine characteristics. In such a case the voltage loop will correctthe error and would allow a stable control. Therefore, the constants K1and K2 can be set to low values. Typical values of 0.1 and 0.4respectively or lower would be sufficient. Allowing a non-zero positivesaturation limit significantly helps to bring the modulation index closeto the commanded value once the output of PI block 196 becomes positive.

Case 3 (M*_(index)≧M_(high)):

If M*_(index) exceeds a certain pre-defined limit M_(high) (see alsoFIG. 17), then M_(ref) is set to M_(high). The M_(high) value basicallysets the upper limit of operation in the overmodulation region. In ourexperiment we set this value to the 95% of six-step operation. Voltagecontrol to full six-step would, however, not be recommended since thevoltage margin between six-step operation and 95% of six-step operationis needed by the current loop to take care of any transient operation.The saturation limits of block 198 are therefore kept unchanged from thevalues of case 2.

The overall operation of control system function 160 of FIGS. 20A-B(carried out by system 500 of FIG. 22) is now described. The voltageloop of control function 160 comprising functions 188, 190, 192, 194,196, 198 and the decision table described in Table I, directly modifythe d-axis current of the machine to control the machine voltage. Basedon torque command T*, machine speed ω_(r) and DC bus voltage V_(dc),optimal current command table 162 generates (e.g., looks-up) the d-axisand q-axis current commands I_(d)*, I_(q)* that should drive the machinemost efficiently to meet these performance expectations. The d-axiscommand may be modified by field-weakening correction ΔI_(d)* fromfunction 186. The calculated current commands are next compared with themeasured currents I_(d), I_(q) and PI based regulator functions 168, 170work on the error signals to produce voltage commands and hence drivethe error between the commanded and the actual current to zero. Thevoltage feed-forward terms (+ω_(r)ψ_(d)*+I_(q)*R_(s)) and(−ω_(r)ψ_(q)*+I_(d)*R_(s)), which are basically the speed voltage andthe resistive drop, are added to the output of the PI regulators 168,170 to improve the transient performance of the current regulator. Ananti-windup current regulator may also be used here to minimize currentovershoot but this is not essential. Anti-windup schemes are known inthe art, which modifies the integrator term of PI regulator functions168, 170, preventing them from saturating. For instance the anti-windupscheme presented in PID Controller: Theory, Design, and Tuning by KAstrom, T. Hagglund, published by Instrument Society of America,Research Triangle Park, N.C., may be implemented. The output of thecurrent regulators (functions 168-174) are fed to over-modulationfunction 176 which implements the scheme as described by Holtz et el(ibid), and thence to synchronous-to-stationary frame converter function178 wherein the synchronous frame voltage commands are converted tostationary frame voltage commands. Function 178 uses the measured orestimated rotor position θ_(r) for the transformation. The outputs oftransformation function 178 are fed to duty cycle calculator function180 wherein the duty cycles needed to apply the appropriate gatingsignals to inverter 182 are generated and passed to inverter 182, whichthen applies the appropriate voltages to the machine to produce thedesired currents, I_(a), I_(b), I_(c) (I_(a), I_(b), I_(c) arestationary frame representations of the synchronous frame commandedcurrents I_(d)* and I_(q)*) in machine 30.

Field-weakening correction module 186 modifies the d-axis currentcommand I_(d)* to adjust the voltage for high-speed operation. In a PMmachine the machine PM flux is not actually reduced, rather a negatived-axis demagnetizing current is applied that reduces the overall machineflux, thereby reducing the back-emf and allowing continuing control overthe phase current. For strong flux machines such as the axial fluxmachine of the present invention, the d-axis current has stronginfluence on the machine voltage, therefore controlling the d-axiscurrent to control machine voltage works well. To improve the transientas well as the steady state performance, ensure stability, and toprovide for smooth transition into the over-modulation region ofinverter 182, PI based feedback control module 186 is provided.

The outputs of the command current regulators (functions 168-174) arefed to modulation index calculation function 192 where the magnitude ofmodulation index M_(index) is calculated. The individual d-axis andq-axis voltages and also the total voltages are allowed to reach thesix-step voltage limit. During six-step operation the total bus voltageis applied to the machine terminal, that is the duty cycle is 1. Adetailed explanation of six-step operation can be found in the text ofMohan (ibid) described earlier. The magnitude of modulation indexM_(index) is compared in block 194 with the magnitude of M_(ref) todetermine the error. M_(ref) is not a fixed reference but depends uponthe operating conditions. To determine M_(ref) a knowledge of themodulation index command M*_(index) is needed. M*_(index) is calculatedfrom the I_(d)** and I_(q)* values that are fed to flux-linkagescomputation function 188. The flux linkages are then fed to computationfunction 190 which determines M*_(index) based on the flux linkages, busvoltage V_(dc), machine speed ω_(r), phase command currents I_(d)**,I_(q)* and phase resistance R_(s), according to equations [2]-[5].

When M*_(index) is below the linear region of operation of inverter 182,the rectified machine terminal voltage is lower than the DC bus voltageand the field-weakening loop (i.e., function 186) is not needed. In suchcase, M_(ref) is set to the upper limit of the voltage loop as shown inTable I. Also, the positive saturation flux level (I_(dsat) ⁺) infunction 198 is set to zero. Therefore, voltage loop 168 is disabled(i.e., the modulation index error is positive so that ΔI_(d)*=0) andd-axis current command I_(d)* from optimized function 162 is fed tocurrent regulator 168, 170 unchanged. Once M*_(index) exceeds the linearto non-linear threshold M_(low) and enters into the non-linearover-modulation region of inverter 182, the modulation index referenceM_(ref) is set equal to M*_(index). The current commands I_(d)*, I_(q)*are calculated to maximize system performance while properly utilizingthe bus voltage. Therefore, ideally under steady state conditions,M*_(index) should closely match M_(index) and little or no help isneeded from feedback loop 186. In other words, output ΔI_(d)* ofsaturation function 198 would be approximately zero. However, some helpfrom loop 186 is generally needed during transient operations for thetransient voltage. Also, due to variations of the actual machinecharacteristics versus the measured characteristics of FIGS. 16A-C, theactual modulation index M_(index) may be slightly different from thecommanded modulation index M*_(index). In such case, feedback loop 186will correct the error and allow stable control. SettingM_(ref)=M*_(index) allows very smooth transition of inverter 182 intothe over-modulation region. If M*_(index) exceeds a certain pre-definedlimit M_(high), then M_(ref) is set equal to M_(high), which isbasically the upper limit of operation of the over-modulation region.The M_(high) value is conveniently about 95% of the six-step limit ofoperation, but larger or smaller values may also be used. However,voltage control to the full six-step limit is generally not desirablesince the voltage margin between the full six-step limit and 95% isneeded by the current loop (function s 163, 165, 168, 170, 172, 174,176, 178, and 180) to take care of any transient operation. However,even under steady state conditions some variation between the commandedand actual modulation index may occur due to variations between themodel and the actual machine and due to measurement errors. Thesedifferences are corrected by feedback loop function 186. The upper andlower limits of saturation function 198 are also set by checkingM*_(index). Once M*_(index) exceeds M_(lower), the upper (I_(dsat) ⁺)and lower (I_(dsat) ⁻) saturation limits of function 198 are set to(K₁|I_(d)*|) and (−K₂|I_(d)*|), respectively. The commanded and actualmodulation indices should be close to each other, so K₁ and K₂ are smallwith typical values of K₁=about 0.1 and K₂=about 0.4, but larger orsmaller values can also be used. Allowing a non-zero positive saturationlimit significantly helps to bring the modulation index close to thecommanded value once the output of PI function 196 becomes positive. Asnoted earlier, this positive limit is set to zero when the currentregulator (functions 163, 165, 168, 170, 172, 174, 176, 178, and 180) isoperating in the linear region, thereby disabling feedback loop 186. Theabove-described control system for operating machine 30 providesexcellent steady-state and transient response.

FIGS. 21A-B show plots 202, 206 of d-axis and q-axis current commands,respectively, for the motor of the present invention under severaloperating conditions. These plots show the anti-windup synchronouscurrent regulator (functions 163, 165, 168, 170, 172, 174, 176, 178, and180 (the anti-windup scheme is however not shown in FIG. 20) performanceat 1200 rpm responding to a 100% (i.e., 0-500 N-m) torque transient at250 V_(dc) (curves 204, 208) and 350 V_(dc) (curves 203 and 207). Forcurve 204 the current scale is 100 A/div and for curves 203, 204, 207the current scale is 120 A/div. In enlarged portion 209 of curve 203,relatively slowly changing trace 203-1 shows I_(d)** and rapidlychanging trace 203-2 shows the measured d-axis current I_(d). Trace203-2 approximates I_(d), which actually moves up and down in astair-step fashion. Traces 204, 207, 208 exhibit a similar behavior. Theactual current is accurately following the current command as can beseen in FIGS. 21A-B. For this experiment, 1200 rpm was the maximum speedof the drive. At the maximum speed the machine back-emf is much higherthan the bus voltages of 250V and 350V. The feed-forward control(command output of function 162 to current regulator or controllerfunction 185) working along with voltage feed-back loop function 186 areensuring a stable performance of the drive even during the step commandfrom zero to the peak machine torque of 500 N-m.

FIG. 22 is a simplified schematic diagram of computer based system 500suitable for carrying out the control processes of the presentinvention. System 500 comprises control module 501 having processor 502,program, memory 504 for storing the operating instructions for carryingout control process 160, temporary memory 505 for storing variablesduring the operation of control module 501 and system 500, machineproperties memory 506 for storing the machine properties for optimizedcommand table of function 162 determined by method 790 and used incontrol process 160, output buffers 508 for coupling controller 501 toinverter 182, and input buffers 510 for receiving measured quantities184 from measured quantities detector 512. Processor 502, memories 504,505, 506 and I/O buffers 510, 508 are coupled by bus or leads 503.Output buffers 508 are coupled to inverter 182 via bus or leads 509.Input buffers 510 are coupled to measured quantities detector 512 by busor leads 511. Measured quantities detector 512 receives phase currentI_(a), I_(c) magnitudes and directions via leads 513, 514, receivesmachine speed and rotor angle via leads 31, and receives V_(dc) via lead515, and transmits the noted quantities to module 501 on leads 511.Inverter 182 also received V_(dc) via lead 183, as previously explained.Input buffers 510 also receives the commanded torque T* provided by theuser. In a vehicle application this is typically derived from theaccelerator pedal position. System 500 illustrates controller 501suitable for carrying out method 790 off line (although this is notessential) and for providing real time control of motor 30 using thesequence of operations and functions illustrated in FIGS. 20A-B.

While at least one exemplary embodiment has been presented in theforegoing detailed description, it should be appreciated that a vastnumber of variations exist. For example, while coolant ring 88 is shownas engaging the outer circumference of annular stator 36, and thisarrangement is preferred, it can alternatively or complementarily engagethe inner circumference or other portions of annular stator 36 with anappropriate modification of rotor web 70. Further, while the presentinvention is described as being particularly adapted to direct drive ofa vehicle wheel without reduction gears or the like, use of suchreduction gears is not precluded. In addition, while two rotors arepreferred, this is not essential and one or more rotors can be used. Itshould also be appreciated that the exemplary embodiment or exemplaryembodiments are only examples, and are not intended to limit the scope,applicability, or configuration of the invention in any way. Rather, theforegoing detailed description will provide those skilled in the artwith a convenient road map for implementing the exemplary embodiment orexemplary embodiments. It should be understood that various changes canbe made in the function and arrangement of elements without departingfrom the scope of the invention as set forth in the appended claims andthe legal equivalents thereof.

1. A method of operating a permanent magnet axial flux motor,comprising: receiving a requested torque and motor speed; determiningcommanded d- and q-axis currents corresponding to the requested torqueand motor speed; combining at least one of the commanded d-axis currentor the commanded q-axis current with a field weakening correction toprovide a corrected output; converting the corrected output to astationary current frame of reference output; and operating an inverterbased on the stationary frame of reference output to provide current tocoils of the motor, thereby causing the motor to operate substantiallyat the requested torque and motor speed.
 2. The method of claim 1,wherein the combining step comprises: for M*_(index)<M_(low), omittingthe field weakening correction; for M_(low)<M*_(index)<M_(high), settingM_(ref)=M*_(index); and for M*_(index)>M_(high), settingM_(ref)=M_(high).
 3. The method of claim 1, wherein the determining stepincludes determining the commanded d- and q-axis currents from anoptimized current command table.
 4. The method of claim 3, wherein thecombining step comprises: adding or subtracting an incremental d-axiscurrent to accommodate differences between data stored in the optimizedcurrent command table and actual behavior of the motor.
 5. The method ofclaim 3 further comprising, prior to the obtaining step, measuringoperating parameters of the motor under different combinations of torqueand speed; and determining, based on the operating parameters, thecommanded d- and q- axis current expected to produce the requestedtorque and speed for a given DC supply voltage at optimum operatingefficiency, then storing these values in the optimized current commandtable.
 6. A method of controlling an electric motor, comprising:receiving a requested torque and speed associated with the electricmotor; determining commanded currents corresponding to the requestedtorque and speed; adjusting at least one of the commanded currents witha field weakening correction to provide a corrected output; andoperating an inverter associated with the electric motor based on thecorrected output, thereby causing the electric motor to operatesubstantially at the requested torque and speed.
 7. The method of claim6, wherein the determining step includes determining commanded d- andq-axis currents.
 8. The method of claim 7, further comprisingdetermining a commanded modulation index (M*_(index)), and wherein theadjusting step includes adjusting the at least one of the commandedcurrents with the field weakening correction based on the M*_(index). 9.The method of claim 8, wherein the adjusting step comprises: forM*_(index)<M_(low), omitting the field weakening correction; forM_(low)<M*_(index)<M_(high), setting M_(ref)=M*_(index); and forM*_(index)>M_(high), setting M_(ref)=M_(high).
 10. The method of claim7, wherein the determining step includes determining the commanded d-and q-axis currents from an optimized current command table.
 11. Themethod of claim 10, wherein the combining step comprises: adding orsubtracting an incremental d-axis current to accommodate differencesbetween data stored in the optimized current command table and actualbehavior of the motor.
 12. The method of claim 10 further comprising,prior to the obtaining step, measuring operating parameters of the motorunder different combinations of torque and speed; and determining, basedon the operating parameters, the commanded d- and q-axis currentexpected to produce the requested torque and speed for a given DC supplyvoltage at optimum operating efficiency, then storing these values inthe optimized current command table.